#ifndef _MCMC_REGIONIMAGE_H
#define _MCMC_REGIONIMAGE_H

#include "mcRaster.h"

class MCMC_Region_Image
{
public:
	int				width,height;
	int				count;
protected:
	mcmcMatrix<int>		*pmx_data;

public:
	// construction & destruction
	MCMC_Region_Image();
	~MCMC_Region_Image();
	void	Free(void);

	// operations
	void	Init(const int num_region);
	void	Extract(Raster<int> &image, const int num_region);
	void	ExtractExtn(Raster<int> &image);
	inline	int rows() const {return width;};
	inline	int cols() const {return height;};
	int&	X(const int mx, const int i);
	int&	Y(const int mx, const int i);
	int		GetPixelNum(const int mx);
};

class MCMC_Edge_Image : public MCMC_Region_Image
{
public:

	void	SetLength(const int mx, const int len);
};





#endif
